/**
 * 遍历一个对象
 * 步骤：
 * 一个[Symbol.Iterator]属性方法
 * 1.创建一个指针对象，指向当前数据结构的起始位置
 * 2.第一次调用next方法，指针自动指向数据结构的第一个成员
 * 3.接下来不断调用next方法，指针一直往后移动，直到指向最后一个成员
 * 4.每调用next方法都会返回一个value和done属性的对象
 */

const banji = {
  name: "舒城中学",
  stus: ["小米", "小李", "小龙", "小孩"],
  [Symbol.iterator]() {
    let index = 0;
    return {
      next: () => {
        if (index < this.stus.length) {
          return { value: this.stus[index++], done: false };
        }
        return { value: undefined, done: true };
      }
    };
  }
};

for (let v of banji) {
  console.log(v);
}
